From 206b41c6f67a5381317e273e86119671d7796773 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 18 Oct 2010 17:34:33 +0200 Subject: [PATCH] widget: Remove special case in gtk_widget_queue_draw_area() This path would only do anything where widget->window was not located at widget->allocation.x/y but at a different position. This should never happen in the real world. But if it does, GTK3 will break for you. Better fix your widget. --- gtk/gtkwidget.c | 36 ------------------------------------ 1 file changed, 36 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 114aafe0a3..45b335a73d 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -4287,42 +4287,6 @@ gtk_widget_queue_draw_area (GtkWidget *widget, if (!gtk_widget_get_mapped (w)) return; - /* Find the correct widget */ - - if (gtk_widget_get_has_window (widget)) - { - if (priv->parent) - { - /* Translate widget relative to window-relative */ - - gint wx, wy, wwidth, wheight; - - gdk_window_get_position (priv->window, &wx, &wy); - x -= wx - priv->allocation.x; - y -= wy - priv->allocation.y; - - wwidth = gdk_window_get_width (priv->window); - wheight = gdk_window_get_height (priv->window); - - if (x + width <= 0 || y + height <= 0 || - x >= wwidth || y >= wheight) - return; - - if (x < 0) - { - width += x; x = 0; - } - if (y < 0) - { - height += y; y = 0; - } - if (x + width > wwidth) - width = wwidth - x; - if (y + height > wheight) - height = wheight - y; - } - } - invalid_rect.x = x; invalid_rect.y = y; invalid_rect.width = width; -- 2.30.2